1. Field of the Invention
The present invention relates to the coding of machine readable instructions and more particularly to the machine readable instructions that can be performed to test the performance of a software program that is under development. Herein, the software being tested will sometimes be referred to as the “target software” to distinguish it from any “testing software” that is used to test the target software.
2. Description of the Related Art
Developers write unit test cases in the form of little programs, typically in a framework such as JUnit. Such a test suite can be run at the desired frequency, e.g., before each code commit, once daily, etc., without any manual intervention. Fixing regressions in the unit test suite is often the first line of defense in ensuring code quality. The story for system tests, or end-to-end tests for a complete application is different.
System tests start with identifying test scenarios from requirements and use cases, and creating test cases from the scenarios. Generally speaking, there are two types of test cases: (i) human readable test cases; and (ii) machine readable test cases. Human readable test cases are: (i) performed by human software testers; and/or (ii) converted by human software coders into equivalent machine readable test cases. Machine readable test cases are performed automatically, by machine, with little or no human intervention, which can be a highly efficient way of testing target software using test cases. This is why human software coders are often conventionally used to convert pre-existing human-readable test cases into machine-readable test cases.